console.log('恭喜你引入成功')
import axios from 'axios'

axios.get('http://123.207.32.32:8000/home/multidata').then((res) => {
  console.log(res)
})

// Promise本身是可以有类型
new Promise<string>((resolve) => {
  setTimeout(() => {
    resolve('1111')
  }, 1000)
}).then((res) => {
  console.log(res.length)
})
// 4.axios的配置选项
axios.defaults.baseURL = 'http://httpbin.org'
axios.defaults.timeout = 10000
// axios.defaults.headers = {}

// axios.all -> 多个请求,一起返回
axios
  .all([
    axios.get('/get', { params: { name: 'why', age: 18 } }),
    axios.post('/post', { data: { name: 'why', age: 18 } })
  ])
  .then((res) => {
    console.log(res[0].data)
    console.log(res[1].data)
  })

// 6.axios的拦截器
// 第一个函数请求发送成功会执行
// 第二个函数请求发送失败会执行
axios.interceptors.request.use(
  (config) => {
    // 想做的一些操作
    // 1. 给请求添加token
    // 2.isLoading的动画
    // Do something before request is sent
    console.log('请求成功拦截')
    return config
  },
  (error) => {
    console.log('请求失败拦截')
    // Do something with request error
    return Promise.reject(error)
  }
)

// 第一个函数:数据响应成功(服务器正常的返回了数据 20x)
axios.interceptors.response.use(
  (response) => {
    console.log('响应成功')
    // Do something before response is sent
    return response.data
  },
  (error) => {
    // Do something with response error
    return Promise.reject(error)
  }
)
